<template>
	<view class="tm-coupon ">
		<view :class="[`round-${round} `]">
			<view :class="[disabled?'gray-100 opacity-4':'']" class="flex-start  " style="height: 150rpx;">
				<view :class="[color_tmeme,black?'bk':'',text?'text':'',`round-r-${round} round-l-${round}`]" class=" flex-center flex-col px-24 flex-shrink fulled-height">
					<view v-if="!h_objData.img">
						<text v-show="h_objData.saleSplit" class="text-size-s">{{h_objData.saleSplit}}</text>
						<text class=" text-weight-b" style="font-size:60rpx;">{{h_objData.sale}}</text>
						<text v-show="h_objData.suffix" class="text-size-s">{{h_objData.suffix}}</text>
					</view>
					<view v-if="h_objData.img">
						<image style="width: 100rpx;height: 100rpx;" class="rounded" :src="h_objData.img"></image>
					</view>
					<text v-show="h_objData.saleLable" class="text-size-xs text-align-center">{{h_objData.saleLable}}</text>
				</view>
				<view :class="[color_tmeme,black?'bk':'',text?'text':'',`round-l-${round} round-r-${round}`]" class=" flex-start fulled-height fulled overflow">
					<view class="opacity-2" style="height: 100%;width: 0px;border-style: dashed; border-width: 0.5px;"></view>
					<view class="px-24 flex-between fulled" >
						<view class="flex-col">
							<text v-show="h_objData.title" class="text-size-n text-weight-b d-block">{{h_objData.title}}</text>
							<text v-show="h_objData.time" class="text-size-xxs d-block">{{h_objData.time}}</text>
						</view>
						<view @click="onclick" class=" flex-shrink" :class="[h_objData.title&&h_objData.time?'pl-24':'']">
							<view :class="[color_tmeme,black?'bk':'',text?'':'text']" class="text-size-xs d-block round-24 px-24 py-6 ">{{h_objData.btnText}}</view>
						</view>
					</view>
					
				</view>
			</view>
			<view class="py-10 px-24 white" v-show="h_objData.label">
				<text  class="text-size-xs d-block text-overflow-1 opacity-6">{{h_objData.label}}</text>
			</view>
		</view>
	</view>
</template>

<script>
	/**
	 * 优惠券
	 * @property {String|Number} shadow = [] 默认：6，投影
	 * @property {String|Number} round = [] 默认：4，圆角
	 * @property {String | Boolean} text = [true|false] 默认：false，是否为文本模式，即减淡背景颜色。
	 * @property {String | Boolean} black = [true|false] 默认：false，是否开启暗黑模式
	 * @property {String | Boolean} disabled = [true|false] 默认：false，是否禁用（已使用）
	 * @property {String | Boolean} hdata = [] 默认：｛｝，数据格式见文档
	 * @property {String} color = [] 默认：primary，主题颜色名称
	 * @property {Function} click 整个组件点击事件,返回项目数据
	 * @example <tm-coupon :hdata="d_1"></tm-coupon>
	 */
	export default {
		name:"tm-coupon",
		props:{
			// 跟随主题色的改变而改变。
			fllowTheme:{
				type:Boolean|String,
				default:false
			},
			shadow: {
				type: String|Number,
				default: 3
			},
			round: {
				type: String|Number,
				default: 3
			},
			// 是否为文本模式，即减淡背景颜色。
			text: {
				type: String | Boolean,
				default: false
			},
			// 是否开启暗黑模式
			black: {
				type: String | Boolean,
				default: null
			},
			// 是否已经使用。
			disabled: {
				type: String | Boolean,
				default: false
			},
			// 主题颜色名称
			color: {
				type: String,
				default: 'primary'
			},
			hdata:{
				type:Object,
				default:()=>{
					return {}
				}
			}
		},
		computed:{
			black_tmeme: function() {
				if (this.black !== null) return this.black;
				return this.$tm.vx.state().tmVuetify.black;
			},
			color_tmeme:function(){
				if(this.$tm.vx.state().tmVuetify.color!==null&&this.$tm.vx.state().tmVuetify.color && this.fllowTheme){
					return this.$tm.vx.state().tmVuetify.color;
				}
				return this.color;
			},
			h_objData:function(){
				let ps = {
						img:'',//礼品图片，提供了图片，不显示数字和数字券说明。
						sale:'0',
						saleSplit:'￥',
						saleLable:'',
						title:'',
						time:'',
						btnText:'去使用',
						label:'',
						suffix:''
					}
				if(typeof this.hdata !== 'object') return ps;
				ps = {...ps,...this.hdata};
				return ps;
			}
		},
		data() {
			return {
				
			};
		},
		methods: {
			onclick(e) {
				if(this.disabled) return;
				this.$emit('click',this.h_objData);
			}
		},
	}
</script>

<style lang="scss">

</style>
